import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

//启动类
public class App {

    public static void main(String[] args) {
        //1.得到spring-context对象 --- 需要去xml中去取(要设置名称)   得到上下文对象(得到spring本身了)
        //1.1
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        //1.2
        //BeanFactory context = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        //User user1 = new User();//从当前类中创建user对象---传统方式存在代码耦合---在spring中不使用
        //2.通过spring-context上下文 对象中取出bean对象
        //string参数-->填入指定标识id  根据名称获取bean对象
        //2.1根据string来获取bean  正常获取到对象  注册多个bean也可以  根据id标识进行区分
        //User user = (User) context.getBean("user");//从spring中获取bean

        //2.2 根据class参数来获取bean  根据类型获取bean对象
        //User user = context.getBean(User.class);

        //2.3根据 string 和 class 获取bean的
        User user = context.getBean("user",User.class);
        //3.使用bean
        user.sayHi();
    }

}
